package com.bw.controller;

import com.bw.bean.Order;
import com.bw.service.OrderInfoService;
import com.sugar.SugarUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * @program: week3
 * @ClassName OrderInfoController
 * @description:
 * @author: 10994 wzq
 * @create: 2025-06-11
 * @Version 1.0
 **/
@RestController
public class OrderInfoController {
    @Autowired
    OrderInfoService orderInfoService;

    @GetMapping("/findAll")
    public List<Map<String,Object>> findAll(){
        return orderInfoService.findAll();
    }
    //9）查询订单状态（status）为已支付（60050）总金额sql语句（5分）
    @RequestMapping("/test9")
    public Map test9(){
        double v = orderInfoService.test9();
        Map flipNumberData = SugarUtil.getFlipNumberData(v);
        return flipNumberData;
    }
    //10）根据各取件类型查询订单的成交额sql语句（5分）
    @RequestMapping("/test10")
    public List<Map<String,Object>> test10(){
        return orderInfoService.test10();
    }
    //11）根据发件人省份id求出各省份的订单数量的sql语句（5分）
    @RequestMapping("/test11")
    public Map test11(){
        List<Order> orders = orderInfoService.test11();
        Map mapData = SugarUtil.getMapData(orders);
        return mapData;
    }
    //12）根据支付方式汇总统计sql语句（5分）
    @RequestMapping("/test12")
    public List<Map<String,Object>> test12(){
        return orderInfoService.test12();
    }
    //13）根据订单状态查询货物个数sql语句（5分）
    @RequestMapping("/test13")
    public List<Map<String,Object>> test13(){
        return orderInfoService.test13();
    }
    //14）查询各订单状态的个数sql语句（5分）
    @RequestMapping("/test14")
    public List<Map<String,Object>> test14(){
        return orderInfoService.test14();
    }
    //15）查询距离（distance）超过100 的sql语句（5分）
    @RequestMapping("/test15")
    public Map test15(){
        List<Order> orders = orderInfoService.test15();
        Map barData = SugarUtil.getBarData(orders);
        return barData;
    }
}
